///////////////////////////////////////////////////////////
//  UIFactory.cpp
//  Implementation of the Class UIFactory
//  Created on:      21-Sep-2013 11:36:36 AM
//  Original author: Jakkaphan Aiemcharoenjit
///////////////////////////////////////////////////////////

#include "UIFactory.h"


using namespace UI;


//CMainWindowPtr UIFactory::CreateMainWindow()
//{
//  return IwNUI::CSharedPtr<UI::CMainWindow>(new UI::CMainWindow());
//}


CMainWindowPtr UI::UIFactory::CreateMainWindow(IwNUI::CAppPtr app)
{
  return IwNUI::CSharedPtr<UI::CMainWindow>(new UI::CMainWindow(app.get()));
}

CCheckListViewPtr UIFactory::CreateCheckListView(Data::IPages* checkListPages, IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CCheckListView>(new UI::CCheckListView(checkListPages, parentWindow));
}


CCreateCheckListViewPtr UIFactory::CreateCreCheckListView(IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CCreateCheckListView>(new UI::CCreateCheckListView(parentWindow));
}


CChoicesViewPtr UIFactory::CreateChoicesView(IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CChoicesView>(new UI::CChoicesView(parentWindow));
}


CPreviewDetailViewPtr UIFactory::CreatePreviewDetailView(IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CPreviewDetailView>(new UI::CPreviewDetailView(parentWindow));
}


CSendMailViewPtr UIFactory::CreateSendMailView(IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CSendMailView>(new UI::CSendMailView(parentWindow));
}


CTemplateViewPtr UIFactory::CreateTemplateView(Data::IPages* templatePages, IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CTemplateView>(new UI::CTemplateView(templatePages, parentWindow));
}


CCreateTemplateViewPtr UIFactory::CreateCreTemplateView(IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CCreateTemplateView>(new UI::CCreateTemplateView(parentWindow));
}


CCreateChoiceViewPtr UIFactory::CreateCreChoiceView(IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CCreateChoiceView>(new UI::CCreateChoiceView(parentWindow));
}


CCreateItemViewPtr UIFactory::CreateCreItemView(IWindowDirector* parentWindow)
{
  return IwNUI::CSharedPtr<UI::CCreateItemView>(new UI::CCreateItemView(parentWindow));
}

UI::CSaveViewPtr UI::UIFactory::CreateSaveView( IWindowDirector* parentWindow )
{
  return IwNUI::CSharedPtr<UI::CSaveView>(new UI::CSaveView(parentWindow));
}

UI::CAboutViewPtr UI::UIFactory::CreateAboutView( IWindowDirector* parentWindow )
{
  return IwNUI::CSharedPtr<UI::CAboutView>(new UI::CAboutView(parentWindow));
}
